package dao

import (
	"time"
)

// 这是 UmsResource 的全局公开dao对象，被service层调用!
var UmsResourceDao = umsResourceDao{}

// 这是 ums_resource表 的实体类
type UmsResource struct {
	Id          int64     `json:"id" form:"id"`
	CategoryId  int64     `json:"category_id" form:"category_id"` // 资源分类ID
	CreateTime  time.Time `json:"create_time" form:"create_time"` // 创建时间
	Name        string    `json:"name" form:"name"`               // 资源名称
	Url         string    `json:"url" form:"url"`                 // 资源URL
	Description string    `json:"description" form:"description"` // 描述
}

// 注意:这是 UmsResource 的私有dao对象，只能在dao层内使用!
type umsResourceDao struct {
	InsertTemplate func(args UmsResource) (int64, error)
	UpdateById     func(args UmsResource) (int64, error)
	SelectById     func(id int64) (UmsResource, error)              `args:"id"`
	DeleteById     func(id int64) (int64, error)                    `args:"id"`
	List           func(arg UmsResourceList) ([]UmsResource, error) //分页模糊查询后台资源
	ListAll        func() ([]UmsResource, error)                    //查询所有后台资源
}

//type UmsResource struct {
//	Id          int64     `json:"id" form:"id" uri:"id" v:"id"`
//	CategoryId  int64     `json:"category_id" form:"category_id" uri:"category_id" v:"category_id"` // 资源分类ID
//	CreateTime  time.Time `json:"create_time" form:"create_time" uri:"create_time" v:"create_time"` // 创建时间
//	Name        string    `json:"name" form:"name" uri:"name" v:"name"`                             // 资源名称
//	Url         string    `json:"url" form:"url" uri:"url" v:"url"`                                 // 资源URL
//	Description string    `json:"description" form:"description" uri:"description" v:"description"` // 描述
//}

// 分页模糊查询后台资源
type UmsResourceList struct {
	CategoryId  int64  `json:"category_id" form:"category_id"`   // 资源分类ID
	NameKeyword string `json:"name_keyword" form:"name_keyword"` // 资源名称
	UrlKeyword  string `json:"url_keyword" form:"url_keyword"`   // 资源URL
	PageSize    int    `json:"page_size" form:"page_size"`
	PageNum     int    `json:"page_num" form:"page_num"`
}
